package com.zbkj.common.model.client.digital;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 语音生成表
 * @author: 零风
 * @CreateDate: 2024/01/01 00:00:00
 * @Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "eb_client_dp_voice", autoResultMap = true)
@ApiModel(value="DpVoice对象", description="语音生成表")
public class DpVoice implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "蝉镜ID")
    private String linkId;

    @ApiModelProperty(value = "语音类型")
    private String type;

    @ApiModelProperty(value = "语音文本")
    private String text;

    @ApiModelProperty(value = "音频链接")
    private String url;

    @ApiModelProperty(value = "音频OSS链接")
    private String ossUrl;

    @ApiModelProperty(value = "音频地址,文件名")
    private String path;

    @ApiModelProperty(value = "音频时长(秒)")
    private Integer duration;

    @ApiModelProperty(value = "用户ID")
    private Integer userId;

    @ApiModelProperty(value = "商户ID")
    private Integer merId;

    @ApiModelProperty(value = "切片")
    private String slice;

    @ApiModelProperty(value = "状态:1 生成中、9 生成完毕(包含成功与失败)")
    private Integer status;

    @ApiModelProperty(value = "错误信息")
    private String errMsg;

    @ApiModelProperty(value = "focus_titles")
    private String focusTitles;

    @ApiModelProperty(value = "错误理由")
    private String errReason;

//    @ApiModelProperty(value = "字幕，数组类型")
//    private List<String> subtitles;

    @ApiModelProperty(value = "字幕，数组类型")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Map<String, Object>> subtitles;

    @ApiModelProperty(value = "是否删除，默认0，0-否，1-是")
    private Integer isDel;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
} 